package com.mcxx.modules.nopage.dto;

import com.mcxx.modules.annotations.ObjectInfoAnnotations;
import com.mcxx.modules.annotations.TableInfoAnnotations;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;


@Data
public class XTYHDBBSalvationEFileDTO {
    @ApiModelProperty(value = "申请人")
    private String name;

    @ApiModelProperty(value = "住址")
    private String address;

    @ApiModelProperty(value = "申请类别")
    private String type;

    @ApiModelProperty(value = "乡镇(街道)")
    private String town;

    @ApiModelProperty(value = "村(社区)")
    private String area;

    @ApiModelProperty(value = "性别")
    private String sex;

    @ApiModelProperty(value = "年龄")
    private String age;

    @ApiModelProperty(value = "身份证")
    private String idcard;

    @ApiModelProperty(value = "户籍地址")
    private String registerAddress;

    @ApiModelProperty(value = "电话")
    private String telephone;

    @ApiModelProperty(value = "申请救助原因")
    private String applyReason;

    @ApiModelProperty(value = "申请相关人员")
    private String applyRelation;

    @ApiModelProperty(value = "创建人")
    private String creater;

    @ApiModelProperty(value = "创建年")
    private String cYear;

    @ApiModelProperty(value = "创建月")
    private String cMonth;

    @ApiModelProperty(value = "创建日")
    private String cDay;

    @ApiModelProperty(value = "家庭人口数量")
    private String familyNumber;

    @ApiModelProperty(value = "家庭财产情况")
    private String PO_familyPropertyInfo;

    @ApiModelProperty(value = "调查人")
    private String surveier;

    @ApiModelProperty(value = "调查时间")
    private String surveyDate;

    @ApiModelProperty(value = "低保证号")
    private String salvationNo;

    @ApiModelProperty(value = "年工资收入总额")
    private String PO_yearwageIncome;

    @ApiModelProperty(value = "月工资收入总额")
    private String PO_wageIncome;

    @ApiModelProperty(value = "月工资收入计算")
    private String PO_wageComputer;

    @ApiModelProperty(value = "年经营收入总额")
    private String PO_yearbusinessIncome;

    @ApiModelProperty(value = "月经营收入总额")
    private String PO_businessIncome;

    @ApiModelProperty(value = "月经营收入计算")
    private String PO_businessComputer;

    @ApiModelProperty(value = "年财产性收入总额")
    private String PO_yearpropertyIncome;

    @ApiModelProperty(value = "财产性收入总额")
    private String PO_propertyIncome;

    @ApiModelProperty(value = "财产性收入计算")
    private String PO_propertyComputer;

    @ApiModelProperty(value = "年转移性收入总额")
    private String PO_yeartransformIncome;

    @ApiModelProperty(value = "转移性收入总额")
    private String PO_transformIncome;

    @ApiModelProperty(value = "转移性收入计算")
    private String PO_transformComputer;

    @ApiModelProperty(value = "年其他收入总额")
    private String PO_yearotherIncome;

    @ApiModelProperty(value = "其他收入总额")
    private String PO_otherIncome;

    @ApiModelProperty(value = "其他收入计算")
    private String PO_otherInComputer;

    @ApiModelProperty(value = "收入合计")
    private String PO_incomeCount;

    @ApiModelProperty(value = "年重病支出总额")
    private String PO_yearillnessOutcome;

    @ApiModelProperty(value = "月重病支出总额")
    private String PO_illnessOutcome;

    @ApiModelProperty(value = "重病支出计算")
    private String PO_illnessComputer;

    @ApiModelProperty(value = "教育支出总额")
    private String PO_educationOutcome;

    @ApiModelProperty(value = "教育支出计算")
    private String PO_educationComputer;

    @ApiModelProperty(value = "年其他支出总额")
    private String PO_yearotherOutcome;

    @ApiModelProperty(value = "其他支出总额")
    private String PO_otherOutcome;

    @ApiModelProperty(value = "其他支出计算")
    private String PO_otherOutComputer;

    @ApiModelProperty(value = "其他支出合计")
    private String PO_outcomeCount;

    @ApiModelProperty(value = "家庭收入总计")
    private String PO_income;

    @ApiModelProperty(value = "家庭成员月收入")
    private String PO_memberIncomeCount;

    @ApiModelProperty(value = "补差金额")
    private String PO_salaryAmount;

    @ApiModelProperty(value = "保障金额")
    private String PO_standAmount;

    @ApiModelProperty(value = "车辆信息")
    private String PO_carForInfo;

    @ApiModelProperty(value = "抽查信息")
    private String PO_checkInfo;

    @ApiModelProperty(value = "抽查人")
    private String PO_checker;

    @ApiModelProperty(value = "抽查年")
    private String PO_ckyear;

    @ApiModelProperty(value = "抽查月")
    private String PO_ckmonth;

    @ApiModelProperty(value = "抽查天")
    private String PO_ckday;

    @ApiModelProperty(value = "开始救助年")
    private String PO_beginYear;

    @ApiModelProperty(value = "开始救助月")
    private String PO_beginMonth;

    @ApiModelProperty(value = "基本生活费")
    private String PO_livingSalary;

    @ApiModelProperty(value = "照料护理费")
    private String PO_nurseSalary;

    @ApiModelProperty(value = "家庭保障金额")
    private String PO_baseSalary;

    @ApiModelProperty(value = "补差金额")
    @ObjectInfoAnnotations(isNullPass = false)
    private String salaryAmount;

    @ApiModelProperty(value = "保障金额")
    @ObjectInfoAnnotations(isNullPass = false)
    private String standAmount;

    @ApiModelProperty(value = "基本生活费")
    @ObjectInfoAnnotations(isNullPass = false)
    private String livingSalary;

    @ApiModelProperty(value = "照料护理费")
    @ObjectInfoAnnotations(isNullPass = false)
    private String nurseSalary;

    @ApiModelProperty(value = "家庭保障金额")
    @ObjectInfoAnnotations(isNullPass = false)
    private String baseSalary;

    @ApiModelProperty(value = "其他财产信息")
    private String PO_otherProperty;

    @ApiModelProperty(value = "丧偶家庭未成年子女")
    private String PO_otherban1Count;

    @ApiModelProperty(value = "重病重残对象无人照料")
    private String PO_otherban2Count;

    @ApiModelProperty(value = "其他  ")
    private String PO_other4Count;

    @Data
    @ApiModel(value = "家庭生活成员信息")
    @TableInfoAnnotations(rowMax = 6)
    public static class FamilyMemberInfo {

        @ApiModelProperty(value = "家庭表id")
        private String id;

        @ApiModelProperty(value = "与户主关系")
        @TableInfoAnnotations(rowIndex = 3, rowStart = 6)
        private String relation;

        @ApiModelProperty(value = "姓名")
        @TableInfoAnnotations(rowIndex = 4, rowStart = 6)
        private String name;

        @ApiModelProperty(value = "年龄")
        @TableInfoAnnotations(rowIndex = 5, rowStart = 6)
        private String age;

        @ApiModelProperty(value = "身份证号码")
        @TableInfoAnnotations(rowIndex = 6, rowStart = 6)
        private String idCard;

        @ApiModelProperty(value = "边缘易致贫对象")
        @TableInfoAnnotations(rowIndex = 7, rowStart = 6)
        private String aruralobjecttype;

        @ApiModelProperty(value = "脱贫不稳定户")
        @TableInfoAnnotations(rowIndex = 8, rowStart = 6)
        private String bruralobjecttype;

        @ApiModelProperty(value = "民族")
        @TableInfoAnnotations(rowIndex = 9, rowStart = 6)
        private String nation;

        @ApiModelProperty(value = "劳动能力")
        @TableInfoAnnotations(rowIndex = 10, rowStart = 6)
        private String workpower;

        @ApiModelProperty(value = "残疾类别、等级及残疾证号")
        @TableInfoAnnotations(rowIndex = 11, rowStart = 6)
        private String disabledinfo;

        @ApiModelProperty(value = "健康状况")
        @TableInfoAnnotations(rowIndex = 12, rowStart = 6)
        private String healthInfo;

        @ApiModelProperty(value = "文化程度及学业状况")
        @TableInfoAnnotations(rowIndex = 13, rowStart = 6)
        private String ducationinfo;

        @ApiModelProperty(value = " 就业状况")
        @TableInfoAnnotations(rowIndex = 14, rowStart = 6)
        private String employmentStatus;

        @ApiModelProperty(value = "婚姻状况")
        @TableInfoAnnotations(rowIndex = 15, rowStart = 6)
        private String marriage;

        @ApiModelProperty(value = "重病病种")
        @TableInfoAnnotations(rowIndex = 16, rowStart = 6)
        private String seriousDisease;

        @ApiModelProperty(value = "户籍地址")
        @TableInfoAnnotations(rowIndex = 17, rowStart = 6)
        private String censusplace;

        @ApiModelProperty(value = "家庭月收入")
        @TableInfoAnnotations(rowIndex = 18, rowStart = 6)
        private String incomeForMonth;

    }

    @Data
    @ApiModel(value = "赡抚人信息")
    @TableInfoAnnotations(rowMax = 4)
    public static class SupportPeopleInfo {
        @ApiModelProperty(value = "被赡抚人Id")
        private String id;

        @ApiModelProperty(value = "赡抚人姓名")
        @TableInfoAnnotations(rowIndex = 4, rowStart = 13)
        private String name;

        @ApiModelProperty(value = "赡抚人关系")
        @TableInfoAnnotations(rowIndex = 3, rowStart = 13)
        private String relation;

        @ApiModelProperty(value = "赡抚人性别")
        private String sex;

        @ApiModelProperty(value = "赡抚人年龄")
        private String age;

        @ApiModelProperty(value = "赡抚人基本信息")
        private String info;

        @ApiModelProperty(value = "赡抚人家庭月收入")
        private String incomeForMonth;
    }

    @Data
    @ApiModel(value = "入户调查家庭成员信息")
    @TableInfoAnnotations(rowMax = 8)
    public static class SurveyFamilyMemberInfo {

        @ApiModelProperty(value = "姓名")
        @TableInfoAnnotations(rowIndex = 2, rowStart = 5)
        private String name;

        @ApiModelProperty(value = "性别")
        @TableInfoAnnotations(rowIndex = 3, rowStart = 5)
        private String sex;

        @ApiModelProperty(value = "年龄")
        @TableInfoAnnotations(rowIndex = 4, rowStart = 5)
        private String age;

        @ApiModelProperty(value = "与户主关系")
        @TableInfoAnnotations(rowIndex = 5, rowStart = 5)
        private String relation;

        @ApiModelProperty(value = "身份证号码")
        @TableInfoAnnotations(rowIndex = 6, rowStart = 5)
        private String idCard;

        @ApiModelProperty(value = "户口性质")
        @TableInfoAnnotations(rowIndex = 7, rowStart = 5)
        private String censusType;

        @ApiModelProperty(value = "婚姻状况")
        @TableInfoAnnotations(rowIndex = 8, rowStart = 5)
        private String marriage;

        @ApiModelProperty(value = "健康状况")
        @TableInfoAnnotations(rowIndex = 9, rowStart = 5)
        private String healthInfo;

        @ApiModelProperty(value = "就业及收入情况")
        @TableInfoAnnotations(rowIndex = 10, rowStart = 5)
        private String currProfState;
    }

    @Data
    @ApiModel(value = "入户调查被赡抚人信息")
    @TableInfoAnnotations(rowMax = 5)
    public static class SurveySupportPeopleInfo {
        @ApiModelProperty(value = "被赡抚人姓名")
        @TableInfoAnnotations(rowIndex = 2, rowStart = 14)
        private String name;

        @ApiModelProperty(value = "被赡抚人关系")
        @TableInfoAnnotations(rowIndex = 3, rowStart = 14)
        private String relation;

        @ApiModelProperty(value = "被赡抚人年龄")
        @TableInfoAnnotations(rowIndex = 4, rowStart = 14)
        private String age;

        @ApiModelProperty(value = "被赡抚人家庭人口")
        @TableInfoAnnotations(rowIndex = 5, rowStart = 14)
        private String numberOfFamilys;

        @ApiModelProperty(value = "被赡抚人基本信息")
        @TableInfoAnnotations(rowIndex = 6, rowStart = 14)
        private String info;
    }

    @Data
    @ApiModel(value = "申请人关系信息")
    public static class ApplyRelationInfo {
        public ApplyRelationInfo() {}

        public ApplyRelationInfo(String name, String relation) {
            this.name = name;
            this.relation = relation;
        }

        @ApiModelProperty(value = "姓名")
        private String name;

        @ApiModelProperty(value = "关系")
        private String relation;
    }

    @Data
    @ApiModel(value = "家庭持有房产信息")
    @TableInfoAnnotations(rowMax = 3)
    public static class ApplyFamilyBuildingsInfo {
        public ApplyFamilyBuildingsInfo() {}

        public ApplyFamilyBuildingsInfo(String name, String houseForPrice) {
            this.name = name;
            this.houseForPrice = houseForPrice;
        }

        @ApiModelProperty(value = "姓名")
        @TableInfoAnnotations(rowIndex = 4, rowStart = 19)
        private String name;

        @ApiModelProperty(value = "房屋价钱")
        @TableInfoAnnotations(rowIndex = 8, rowStart = 19)
        private String houseForPrice;
    }
}
